﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using Core;

namespace Communication
{
    [ServiceContract]

    public interface IMonitoring
    {
        [OperationContract]
        bool AddAlert(AlertRule alertRule, Entity entity, EntityProperty entityProperty);

        [OperationContract]
        int AddEntity(Entity entity);

        [OperationContract]
        int AddEntityProperty(EntityProperty entityProperty);

        [OperationContract]
        EntityType GetEntityTypeByUid(string uid);

        [OperationContract]
        List<EntityType> GetEntityTypeList();

        [OperationContract]
        List<EntityTypeProperty> GetEntityTypePropertyList();

        [OperationContract]
        List<dimPerfMon> GetPerfMonList();
        
        [OperationContract]
        List<dimDate> GetDateList();

        [OperationContract]
        List<dimPerfMonCounter> GetPerfMonCounterList();

        [OperationContract]
        List<DeviationPercent> GetDeviationPercentList();

        [OperationContract]
        List<AlertRule> GetAlertRuleList();
    }
}
